Conversation
… the different result of Aircraft.Wing.BENDING_MATERIAL_FACTOR (or BT as returned by subroutine BNDMAT) between Aviary and FLOPS.
| prob.set_val(Aircraft.Wing.OUTBOARD_SEMISPAN, val=86.75) | ||
| prob.set_val(Aircraft.Fuselage.LENGTH, val=112.3001936860821) | ||
| prob.set_val(Aircraft.Wing.THICKNESS_TO_CHORD, val=0.11) | ||
| prob.set_val(Aircraft.Fuselage.HEIGHT_TO_WIDTH_RATIO, val=0.11) |
There was a problem hiding this comment.
I think this is a very confusing variable and we need to be very careful with how we use it.
When someone says height to width ratio I think of the cross sectional area in the y-z plane. Thickness to chord for the wing would kind of be height to length ratio for the fusealge, with a cross section in the x-z plane.
I worry that this variable is being used in the 'conventional sense' for gasp based tube and wing aircraft, but then being used as thickness to chord for FLOPS based BWB.
There was a problem hiding this comment.
Indeed, the use of Aircraft.Fuselage.HEIGHT_TO_WIDTH_RATIO is not ideal. In FLOPS, the variable is TCSOB for which we don't have a corresponding Aviary variable. Because TCSOB is default to TCF which corresponds to Aircraft.Fuselage.HEIGHT_TO_WIDTH_RATIO. That is why I use it.
| ar = inputs[Aircraft.Wing.ASPECT_RATIO] | ||
| arref = inputs[Aircraft.Wing.ASPECT_RATIO_REFERENCE] | ||
| if arref[0] == 0: | ||
| arref[0] = ar[0] |
There was a problem hiding this comment.
Should we output a warning here that no reference was supplied and therefore we are assuming the value equal to the input?
Warning Aircraft.Wing.ASPECT_RATIO_REFERENCE = 0 assuming Aircraft.Wing.ASPECT_RATIO_REFERENCE = Aircraft.Wing.ASPECT_RATIO = {ar}
There was a problem hiding this comment.
Perhaps this can't be done here, but if it's necessary perhaps we need to do it in preprocessors?
There was a problem hiding this comment.
Do we always assume that Aircraft.Wing.ASPECT_RATIO_REFERENCE = Aircraft.Wing.ASPECT_RATIO when Aircraft.Wing.ASPECT_RATIO_REFERENCE is missing? For now, I added a warning.
There was a problem hiding this comment.
This is something that should be done in the preprocessors, we should not be changing inputs like this during calculations
There was a problem hiding this comment.
Preprocessors deals with options as it is named as preprocess_options() but Aircraft.Wing.ASPECT_RATIO_REFERENCE is not an option. Where do you want to process this variable?
There was a problem hiding this comment.
The name is misleading - it doesn't have to just do options. The options in preprocess_options is referring to the aviary_options argument, we used to use aviary_inputs and aviary_options interchangeably.
Summary
This PR implements another BWB model from FLOPS - BWB300 baseline model.
The BWB300 baseline model implemented here is not exactly the same as the original FLOPS model. This is because Aviary did not implement all the features of FLOPS. More precisely, here are the differences:
Aircraft.Fuselage.MAX_WIDTH = 50.0is not implemented inBWBDetailedCabinLayoutcomponent. Can override later.Aircraft.Fuselage.MAX_HEIGHT = 14.16is not implemented inBWBDetailedCabinLayoutcomponent. Can override later.Aircraft.Wing.ROOT_CHORDwhich is an output fromBWBDetailedCabinLayoutcomponent. Can override later.Mission.Design.GROSS_MASS = 600,000manually. The original logic is DGW = 1, IF(DGW < 5) DG = DGW * GW, but GW is not read in to Aviary. Should we create a new Aviary variable for GW (Ramp weight)?Aircraft.Wing.GLOVE_AND_BATis not implemented. So, take the value from FLOPS run. See subroutine DEFINE().Aircraft.Wing.SPAN = 186.3is incorrect. FLOPS updates value during its run. If we input bothAircraft.Wing.SPANandAircraft.Wing.OUTBOARD_SEMISPAN, they must satisfyAircraft.Wing.SPAN Aircraft.Fuselage.MAX_WIDTH + Aircraft.Wing.OUTBOARD_SEMISPAN*2.Aircraft.Fuselage.HEIGHT_TO_WIDTH_RATIO). Should we add TCSOB (meaning Fuselage thickness/chord ratio at side of body) to Aviary? This will affect the computation ofBWB_THICKNESS_TO_CHORD_DISTRIBUTION[1].Aircraft.VerticalTail.WETTED_AREA = 125, even thoughAircraft.VerticalTail.NUM_TAILS = 0. It is ignored.aircraft:wing:aspect_ratio,5.4252,unitlessin .csv file in order to follow FLOPS computation.Aircraft.HorizontalTail.VERTICAL_TAIL_FRACTION) is not taken care byfortran_to_aviary().Aircraft.VerticalTail.SWEEP) is not taken care byfortran_to_aviary().Aircraft.VerticalTail.ASPECT_RATIO) is not taken care byfortran_to_aviary().Aircraft.VerticalTail.TAPER_RATIO) is not taken care byfortran_to_aviary().Aircraft.Fuel.WING_FUEL_CAPACITY) is not taken care byfortran_to_aviary().Related Issues
Backwards incompatibilities
None
New Dependencies
None